package com.atguigu.gmall.activity.service;

import com.atguigu.gmall.model.cart.CartInfo;
import com.atguigu.gmall.model.cart.CartInfoVo;
import com.atguigu.gmall.model.order.OrderDetail;
import com.atguigu.gmall.model.order.OrderTradeVo;

import java.util.List;
import java.util.Map;

/**
 * @author atguigu-mqx
 */
public interface ActivityService {

    /**
     * 根据skuId, userId 加载促销活动与优惠券列表！
     * @param skuId
     * @param userId
     * @return
     */
    Map<String, Object> findActivityAndCoupon(Long skuId, Long userId);

    /**
     * 根据优惠券Id，userId 处理利用优惠券！
     * @param couponId
     * @param userId
     */
    void getCouponInfo(Long couponId, String userId);

    /**
     * 获取到返回cartInfoVo集合数据
     * @param cartInfoList
     * @param userId
     * @return
     */
    List<CartInfoVo> findCartActivityAndCoupon(List<CartInfo> cartInfoList, Long userId);

    /**
     * 有关于订单页面渲染组合
     * @param orderDetailList
     * @param userId
     * @return
     */
    OrderTradeVo findTradeActivityAndCoupon(List<OrderDetail> orderDetailList, Long userId);
}
